<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/template.xhtml">

        <ui:define name="title">
            <h:outputText value="#{bundle.ListTituloReceberTitle}"></h:outputText>
        </ui:define>

        <ui:define name="body">

            <h:form id="formTituloReceberList">

                <h:panelGroup id="messagePanel" layout="block">
                    <p:growl />
                </h:panelGroup>

                <h:panelGroup>
                    <p:dataTable id="tableTituloReceber" value="#{tituloReceberController.items}" 
                                 var="item" paginator="true" rows="15" style="border:solid 1px"
                                 emptyMessage="#{bundle.ListTituloReceberEmpty}">

                        <f:facet name="header">
                            #{bundle.ListTituloReceberTitle}
                        </f:facet>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_condicoesContrato}"/>
                            </f:facet>
                            <h:outputText value="#{item.condicoesContrato}"/>
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_tituloPK_idTitulo}"/>
                            </f:facet>
                            <h:outputText value="#{item.tituloPK.idTitulo}"/>
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_tituloPK_parcela}"/>
                            </f:facet>
                            <h:outputText value="#{item.tituloPK.parcela}"/>
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_emissao}"/>
                            </f:facet>
                            <h:outputText value="#{item.emissao}">
                                <f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss" />
                            </h:outputText>
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_vencimento}"/>
                            </f:facet>
                            <h:outputText value="#{item.vencimento}">
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </h:outputText>
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_valor}"/>
                            </f:facet>
                            <h:outputText value="#{item.valor}"/>
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="#{bundle.ListTituloReceberTitle_saldo}"/>
                            </f:facet>
                            <h:outputText value="#{tituloReceberController.saldo}"/>
                        </p:column>

                        <p:column>
                            <f:facet name="header">

                                <p:commandButton actionListener="#{tituloReceberController.prepareCreate}" 
                                                 value="#{bundle.ListTituloReceberCreateLink}"
                                                 update=":formTituloReceberCreate:pgTituloReceberCreate" 
                                                 oncomplete="dialogTituloReceberCreate.show()"/>
                            </f:facet>
                            <p:commandButton actionListener="#{tituloReceberController.prepareEdit}" 
                                             value="#{bundle.ListTituloReceberEditLink}"
                                             update=":formTituloReceberEdit:pgTituloReceberEdit" 
                                             oncomplete="dialogTituloReceberEdit.show()"/>
                            <p:commandButton actionListener="#{tituloReceberController.destroy}" 
                                             value="#{bundle.ListTituloReceberDestroyLink}" ajax="false"/>
                            <p:commandButton actionListener="#{tituloReceberController.prepareCreateBaixas}" 
                                             value="#{bundle.CreateBaixasTitle}" 
                                             update=":formBaixasCreate:pgBaixasCreate"
                                             oncomplete="dialogBaixasCreate.show()"
                                             rendered="#{tituloReceberController.saldo > 0}" />
                            <p:commandButton actionListener="#{tituloReceberController.prepareListBaixas}" 
                                             value="#{bundle.ListTituloReceberBaixarLink}" 
                                             update=":formBaixasList:pgBaixasList" 
                                             oncomplete="dialogBaixasList.show()"
                                             rendered="#{(item.valor > tituloReceberController.saldo)}" />
                        </p:column>
                    </p:dataTable>
                </h:panelGroup>

            </h:form>

            <h:form id="formBaixasList">'

                <p:dialog widgetVar="dialogBaixasList" header="#{bundle.ListBaixasTitle}" 
                          resizable="false" modal="true" showEffect="slide">

                    <h:panelGroup id="pgBaixasList">

                        <p:dataTable id="tableBaixas" value="#{tituloReceberController.itemsBaixas}" var="item" 
                                     emptyMessage="#{bundle.ListBaixasEmpty}" style="border:solid 1px">

                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="#{bundle.ListBaixasTitle_dataBaixa}"/>
                                </f:facet>
                                <p:calendar value="#{item.dataBaixa}" disabled="true" locale="pt"
                                            title="#{bundle.CreateBaixasTitle_dataBaixa}" pattern="dd/MM/yyyy" />
                            </p:column>

                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="#{bundle.ListBaixasTitle_valor}"/>
                                </f:facet>
                                <h:outputText value="#{item.valor}"/>
                            </p:column>

                            <p:column>

                                <p:commandButton actionListener="#{tituloReceberController.destroyBaixas}" 
                                                 value="#{bundle.ListBaixasDestroyLink}" ajax="false"/>

                            </p:column>

                        </p:dataTable>

                    </h:panelGroup>

                </p:dialog>

            </h:form>

            <h:form id="formBaixasCreate">

                <p:dialog widgetVar="dialogBaixasCreate" header="#{bundle.CreateBaixasTitle}" 
                          resizable="false" modal="true" showEffect="slide">

                    <p:panelGrid id="pgBaixasCreate" columns="5">

                        <h:outputLabel value="#{bundle.CreateBaixasLabel_valor}" for="valorBaixas" />
                        <p:spinner id="valorBaixas" value="#{tituloReceberController.baixasSelected.valor}" 
                                   title="#{bundle.CreateBaixasTitle_valor}" required="true" 
                                   requiredMessage="#{bundle.CreateBaixasRequiredMessage_valor}"
                                   min="#{1}"
                                   prefix="R$ "/>

                        <h:outputLabel value="#{bundle.CreateBaixasLabel_dataBaixa}" 
                                       for="dataBaixa" />
                        <p:calendar id="dataBaixa" value="#{tituloReceberController.baixasSelected.dataBaixa}" 
                                    title="#{bundle.CreateBaixasTitle_dataBaixa}" required="true" 
                                    requiredMessage="#{bundle.CreateBaixasRequiredMessage_dataBaixa}"
                                    locale="pt" pattern="dd/MM/yyyy" >
                        </p:calendar>

                        <p:commandButton actionListener="#{tituloReceberController.createBaixas}" 
                                         value="#{bundle.CreateBaixasSaveLink}"
                                         oncomplete="dialogBaixasCreate.hide()"
                                         update=":formTituloReceberList:tableTituloReceber"
                                         ajax="false" />

                    </p:panelGrid>
                </p:dialog>
            </h:form>

            <h:form id="formTituloReceberCreate">

                <p:dialog widgetVar="doalogTituloReceberCreate" header="#{bundle.CreateTituloReceberTitle}" 
                          resizable="false" modal="true" showEffect="slide">

                    <p:panelGrid id="pgTituloReceberCreate" columns="2">

                        <h:outputLabel value="#{bundle.CreateTituloReceberLabel_tituloPK_idTitulo}" 
                                       for="tituloPK_idTitulo" />
                        <p:inputText id="tituloPK_idTitulo" value="#{tituloReceberController.selected.tituloPK.idTitulo}" 
                                     title="#{bundle.CreateTituloReceberTitle_tituloPK_idTitulo}" required="true" 
                                     requiredMessage="#{bundle.CreateTituloReceberRequiredMessage_tituloPK_idTitulo}"/>

                        <h:outputLabel value="#{bundle.CreateTituloReceberLabel_tituloPK_parcela}" 
                                       for="tituloPK_parcela" />
                        <p:inputText id="tituloPK_parcela" value="#{tituloReceberController.selected.tituloPK.parcela}" 
                                     title="#{bundle.CreateTituloReceberTitle_tituloPK_parcela}" required="true" 
                                     requiredMessage="#{bundle.CreateTituloReceberRequiredMessage_tituloPK_parcela}"/>

                        <h:outputLabel value="#{bundle.CreateTituloReceberLabel_emissao}" 
                                       for="emissao" />
                        <p:calendar id="emissao" value="#{tituloReceberController.selected.emissao}" 
                                    title="#{bundle.CreateTituloReceberTitle_emissao}" required="true" 
                                    requiredMessage="#{bundle.CreateTituloReceberRequiredMessage_emissao}">
                            <f:convertDateTime pattern="dd/MM/yyyy" />
                        </p:calendar>

                        <h:outputLabel value="#{bundle.CreateTituloReceberLabel_vencimento}" 
                                       for="vencimento" />
                        <p:calendar id="vencimento" value="#{tituloReceberController.selected.vencimento}" 
                                    title="#{bundle.CreateTituloReceberTitle_vencimento}" required="true" 
                                    requiredMessage="#{bundle.CreateTituloReceberRequiredMessage_vencimento}">
                            <f:convertDateTime pattern="dd/MM/yyyy" />
                        </p:calendar>

                        <h:outputLabel value="#{bundle.CreateTituloReceberLabel_valor}" for="valor" />
                        <p:spinner id="valor" value="#{tituloReceberController.selected.valor}" 
                                   title="#{bundle.CreateTituloReceberTitle_valor}" required="true" 
                                   requiredMessage="#{bundle.CreateTituloReceberRequiredMessage_valor}"
                                   prefix="R$ "/>
                        <p:commandButton action="#{tituloReceberController.create}" 
                                         value="#{bundle.CreateTituloReceberSaveLink}"
                                         update=":formTituloReceberList:tableTituloReceber" 
                                         oncomplete="dialogTituloReceberCreate.hide()"
                                         ajax="false" />
                        <p:commandButton value="Limpar" type="reset" />

                    </p:panelGrid>

                </p:dialog>

            </h:form>

            <h:form id="formTituloReceberEdit">

                <p:dialog widgetVar="doalogTituloReceberEdit" header="#{bundle.EditTituloReceberTitle}" 
                          resizable="false" modal="true" showEffect="slide">

                    <p:panelGrid id="pgTituloReceberEdit" columns="2">

                        <h:outputLabel value="#{bundle.EditTituloReceberLabel_tituloPK_idTitulo}" 
                                       for="tituloPK_idTitulo" />
                        <p:inputText id="tituloPK_idTitulo" value="#{tituloReceberController.selected.tituloPK.idTitulo}" 
                                     title="#{bundle.EditTituloReceberTitle_tituloPK_idTitulo}" required="true" 
                                     requiredMessage="#{bundle.EditTituloReceberRequiredMessage_tituloPK_idTitulo}"/>

                        <h:outputLabel value="#{bundle.EditTituloReceberLabel_tituloPK_parcela}" 
                                       for="tituloPK_parcela" />
                        <p:inputText id="tituloPK_parcela" value="#{tituloReceberController.selected.tituloPK.parcela}" 
                                     title="#{bundle.EditTituloReceberTitle_tituloPK_parcela}" required="true" 
                                     requiredMessage="#{bundle.EditTituloReceberRequiredMessage_tituloPK_parcela}"/>

                        <h:outputLabel value="#{bundle.EditTituloReceberLabel_emissao}" 
                                       for="emissao" />
                        <p:calendar id="emissao" value="#{tituloReceberController.selected.emissao}" 
                                    title="#{bundle.EditTituloReceberTitle_emissao}" required="true" 
                                    requiredMessage="#{bundle.EditTituloReceberRequiredMessage_emissao}">
                            <f:convertDateTime pattern="dd/MM/yyyy" />
                        </p:calendar>

                        <h:outputLabel value="#{bundle.EditTituloReceberLabel_vencimento}" 
                                       for="vencimento" />
                        <p:calendar id="vencimento" value="#{tituloReceberController.selected.vencimento}" 
                                    title="#{bundle.EditTituloReceberTitle_vencimento}" required="true" 
                                    requiredMessage="#{bundle.EditTituloReceberRequiredMessage_vencimento}">
                            <f:convertDateTime pattern="dd/MM/yyyy" />
                        </p:calendar>

                        <h:outputLabel value="#{bundle.EditTituloReceberLabel_valor}" for="valor" />
                        <p:spinner id="valor" value="#{tituloReceberController.selected.valor}" 
                                   title="#{bundle.EditTituloReceberTitle_valor}" required="true" 
                                   requiredMessage="#{bundle.EditTituloReceberRequiredMessage_valor}"
                                   prefix="R$ "/>
                        <p:commandButton actionListener="#{tituloReceberController.update}" 
                                         value="#{bundle.EditTituloReceberSaveLink}"
                                         update=":formTituloReceberList:tableTituloReceber" 
                                         oncomplete="dialogTituloReceberEdit.hide()" />
                        <p:commandButton value="Limpar" type="reset" ajax="false"/>

                    </p:panelGrid>

                </p:dialog>

            </h:form>

        </ui:define>
    </ui:composition>

</html>
